package com.powernobug.bean.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Author: 肖云戈
 * @CreateTime: 2024-08-27
 * @Description:
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BaseRespVo<T> {

    private int errno;
    private T data;
    private String errMsg;

    public static BaseRespVo<Object> okList(Object data) {
        return BaseRespVo.builder()
                .errno(0)
                .data(data)
                .errMsg("成功")
                .build();
    }

    public static BaseRespVo<Object> errList(int code) {
        BaseRespVo<Object> tempResp = BaseRespVo.builder()
                .errno(0)
                .data(null)
                .build();

        switch (code) {
            case 401 -> tempResp.setErrMsg("某错误1");
            case 402 -> tempResp.setErrMsg("某错误2");
            case 403 -> tempResp.setErrMsg("某错误3");
            case 404 -> tempResp.setErrMsg("404 Not Found！");
            case 405 -> tempResp.setErrMsg("某错误5");
            case 406 -> tempResp.setErrMsg("某错误6");
            case 407 -> tempResp.setErrMsg("某错误7");
            case 501 -> tempResp.setErrMsg("分页信息缺失！");
            case 604 -> tempResp.setErrMsg("用户不存在，登陆失败！");
            case 605 -> tempResp.setErrMsg("密码错误，登陆失败！");
            default -> tempResp.setErrMsg("发生了未知错误...");
        }
        return tempResp;
    }
}
